<?
/*	Created by Alexander Alexandrov aka SS

			hazg@mail.ru				*/


define('SSLIB_Humanize', TRUE);

class Humanize
{
    /**
     * Humanize number description [RUS]
     *
     * @param int $int
     * @param array $expressions
     * @return string
     */
    static function Number($int, $expressions)
    {
        settype($int, "integer");
        $count = $int % 100;
        if ($count >= 5 && $count <= 20)
        {
            $result = $int." ".$expressions[2];
        }
        else
        {
            $count = $count % 10;
            if ($count == 1) 
            {
                $result = $int." ".$expressions[0];
            }
            elseif ($count >= 2 && $count <= 4) 
            {
                $result = $int." ".$expressions[1];
            }
            else 
            {
                $result = $int." ".$expressions[2];
            }
        }
        return $result;
    }
    
    /**
     * Humanize size in bytes
     *
     * @param long $size
     * @return string
     * TODO: Сделать локализованный вариант вывода размера в байтах
     */
    function Kbmb($size)
    {
        $i=0;
        $iec = array("байт", "килобайт", "мегабайт", "гигабайт", "терабайт", "петабайт", "eb", "zb", "yb");
        while (($size/1024)>1) 
        {
            $size=$size/1024;
            $i++;
        }
        return substr($size,0,strpos($size,'.')+2).' '.$iec[$i]; 
    } 
}

?>